public class test{
    public static void hanoi(int n, char from, char auxiliary, char to) {
        // 递归终止条件：只有一个圆盘时，直接从源柱子移动到目标柱子
        if (n == 1) {
            System.out.println("将圆盘 " + n + " 从 " + from + " 移动到 " + to);
        } else {
            // 第一步：将n-1个圆盘从源柱子移动到辅助柱子（借助目标柱子）
            hanoi(n - 1, from, to, auxiliary);

            // 第二步：将第n个圆盘从源柱子移动到目标柱子
            System.out.println("将圆盘 " + n + " 从 " + from + " 移动到 " + to);

            // 第三步：将n-1个圆盘从辅助柱子移动到目标柱子（借助源柱子）
            hanoi(n - 1, auxiliary, from, to);
        }
    }

    public static void main(String[] args) {
        int diskNumber = 3; // 可以修改为任意正整数测试
        System.out.println("移动 " + diskNumber + " 个圆盘的步骤：");
        hanoi(diskNumber, 'A', 'B', 'C');
    }
}
